@哈哈鱼
2年前 提问
1个回答

传统微服务安全框架有哪些缺陷

安全侠
2年前

传统微服务安全框架有以下缺陷:

  • 侵入性强:想要集成SDK的能力,除了需要添加相关依赖,还需要在业务代码中增加一部分代码、注解或配置,防止业务层代码与治理层代码界限不清晰。

  • 升级成本高:每次升级都需要业务应用修改SDK版本,重新进行功能回归测试,并且对每一台机器进行部署上线。而这对业务方来说,与业务的快速迭代开发是有冲突的,大多数业务方都不愿意停下来做这些与业务目标不太相关的事情。

  • 版本碎片化严重:由于升级成本高,而中间件在不停地向前发展,久而久之,就会导致线上不同服务引用的SDK版本不统一、能力参差不齐,造成很难统一治理的局面。

  • 中间件演变困难:由于版本碎片化严重,导致中间件在向前演进的过程中需要兼容代码中的各种各样的老版本逻辑,带着“枷锁”前行,因此无法实现快速迭代。

  • 内容多、门槛高:Spring Cloud被称为微服务治理框架的“全家桶”,包含大大小小几十个组件,内容相当多,往往需要用户花费几年时间去熟悉其中的关键组件。如果将Spring Cloud作为一个完整的治理框架,则需要深入了解其中的原理与实现,否则遇到问题会很难定位。

  • 治理功能不全:不同于RPC框架,Spring Cloud作为治理框架的典型,也不是万能的,诸如协议转换支持、多重授权机制、动态请求路由、故障注入、灰度发布等高级功能都没有被覆盖到。而这些功能往往是企业大规模落地不可或缺的,因此企业还需要投入其他人力进行相关功能的自研,或者调研其他组件作为补充。